package com.elric.mall.service;

import com.elric.mall.dto.TaskDto;
import com.elric.mall.enums.ImportType;
import com.elric.mall.model.Task;
import com.elric.mall.model.TaskUnit;
import com.elric.mall.model.UmsAdmin;

import java.util.List;
import java.util.Map;

/**
 * 实现功能：计划任务服务层
 *
 * @author 作者[Yuxuan.he]
 * @version 1.0.00  2021-09-16 11:14
 */
public interface TaskService {

    /**
     * 创建
     */
    int create(TaskDto.Params task, UmsAdmin umsAdmin);

    /**
     * 更新
     */
    int update(TaskDto.Params task, UmsAdmin umsAdmin);

    /**
     * 根据ID获取详情
     */
    TaskDto.Detail findById(String id);

    /**
     * 根据ID删除
     */
    int delete(String id);

    /**
     * 分页查询
     */
    List<Task> list(Integer pageSize, Integer pageNum, Task task);
    List<Task> findAll();

    /**
     * 批量插入
     * @param list
     * @param importType
     * @return
     */
    int insertBatch(List<Task> list, ImportType importType);

    /**
     * 根据任务id查找其中包含的大单位信息
     * @param taskId
     * @return
     */
    List<TaskUnit> findUnitByTaskId(String taskId);

    /**
     * 更新大单位-任务详情
     * @param taskUnitId
     */
    void updateTaskInfo(String taskUnitId);

    /**
     * 任务统计数据
     * @return
     */
    Map<String, Object> statistics();
}
